stream processing explained